The present invention generally relates to the field of portable electronic devices. More particularly, the present invention relates to the field of software applications that operate on personal digital assistants (PDAs) and other similar types of portable computing devices.
Computers and other electronic devices have become integral tools used in a wide variety of different applications, such as in finance and commercial transactions, computer-aided design and manufacturing, health care, telecommunication, education, etc. Computers along with other electronic devices are finding new applications as a result of advances in hardware technology and rapid development in software technology. Furthermore, the functionality of a computer system or other type of electronic device is dramatically enhanced by coupling these type of stand-alone devices together in order to form a networking environment. Within a networking environment, users may readily exchange files, share information stored on a common database, pool resources, and communicate via electronic mail (e-mail) and via video teleconferencing. Furthermore, computers along with other types of electronic devices which are coupled to the internet provide their users access to data and information from all over the world. Computer systems have become useful in many aspects of everyday life both for personal and business uses.
Included within this broad category of computers and electronic devices is the personal digital assistant (commonly referred to as a PDA). Specifically, as the components required to build a computer system have been greatly reduced in size, new categories of computer systems have emerged. One of these new categories of computer systems is the personal digital assistant. A personal digital assistant is a portable computer system which is small enough to be held in the hand of its user and can be xe2x80x9cpalm-sized.xe2x80x9d
The personal digital assistant is usually a battery powered device that is typically used as an electronic organizer having the capability to store and display a wide range of information which can include numerous addresses and telephone numbers of business and personal acquaintances, financial information, daily appointments, along with various other personal information. In this manner, the personal digital assistant is able to consolidate a variety of information which is easily accessible by its user. Therefore, personal digital assistants are very useful and powerful devices.
It should be appreciated that personal digital assistants have become increasingly popular. As such, larger numbers of software applications have become available for personal digital assistants. Specifically, software applications for personal digital assistants are commercially available and can also be downloaded free from different web sites on the Internet. Moreover, these software applications include a wide variety of games, applications that xe2x80x9cimprovexe2x80x9d the functionality of a personal digital assistant, electronic books and other resource materials, real-time regional traffic information, and the like.
Additionally, it is appreciated that as personal digital assistants have become more popular, there is a huge number of software developers (over 70,000) creating software applications that operate on personal digital assistants. As such, the software applications that personal digital assistants operate have continuously improved. There have also been new and updated versions of the software operating systems of personal digital assistants enabling the operating systems to operate better and also provide more functionality to personal digital assistants.
It should be understood that there are some disadvantages associated with the development of new and improved operating system versions for personal digital assistants. One of the disadvantages is that when a version of an operating system is changed, existing software applications may not be compatible with the new version of the operating system. As such, an existing software application may not even operate in conjunction with the new version of the operating system. In order to remedy this situation, software developers may upgrade or develop new software applications which are able to operate in conjunction with the new version of the operating system.
However, there are disadvantages associated with software developers trying to upgrade or develop new software applications that are compatible with the new version of the operating system. One of the disadvantages is that some software developers for personal digital assistants do not have the resources to properly determine whether their new or updated software code is compatible with the new version of the operating system. It would be advantageous to provide a mechanism available for developers to determine if their new software versions are compatible with the available operating system versions.
Accordingly, what is needed is a method and system which enables software developers for personal digital assistants to conveniently determine whether their software code is compatible with specified versions of an operating system. The present invention provides this advantage and others which will no doubt become obvious to those of ordinary skill in the art after having read the following detailed description of embodiments in accordance with the present invention.
Specifically, one embodiment of the present invention enables a computer user (e.g., software developer, software consumer, etc.) to remotely determine whether a software application (e.g., a video game) is compatible with a version of an operating system of an electronic device (e.g., a portable computer system). Specifically, the computer user transmits the program code of the software application to a simulator via the Internet (or any other type of communication medium). The simulator simulates the operation of the received software application code on an operating system in order to rate the performance of the code and/or detect any errors (e.g., incompatibilities) contained within the code. It is appreciated that the simulator may also test the software application code against different versions and/or types of operating systems. Once the simulation is complete, the simulation software automatically generates a report corresponding to the performance of the software application with each tested version and/or type of operating system. The report is then transmitted by the server computer to the computer of the user that submitted the software application code. In this manner, the computer user is apprised remotely as to the performance (and/or compatibility) of the software application with particular versions and/or types of operating systems of an electronic device.
In one embodiment, the present invention includes a method for remotely determining whether software application code is compatible with an operating system version of a computing device. The method includes the step of receiving software application code from a remote device via a communication medium. Additionally, the method includes the step of determining if the software application code is compatible with a version of an operating system of a computing device. In response to finding an incompatibility within the software application code, the method includes the step of logging the incompatibility. Moreover, the method includes the step of generating a report corresponding to the software application code. The method also includes the step of transmitting the report to the remote device via the communication medium.
In yet another embodiment, the present invention includes a computer readable medium having computer readable code embodied therein for causing a computer to perform steps similar to those describe in the previous paragraphs.